关于uniapp开发app的坑(有些可能是app开发都会遇到的),仅做个人记录,目前为安卓版本 您所在的位置:网站首页 踩坑记录文件查找失败hbuilderx 关于uniapp开发app的坑(有些可能是app开发都会遇到的),仅做个人记录,目前为安卓版本

关于uniapp开发app的坑(有些可能是app开发都会遇到的),仅做个人记录,目前为安卓版本

2023-12-22 22:59| 来源: 网络整理| 查看: 265

首先第三方授权登录(如微信登录)中的签名为app证书的md5,方法按照Dcloud官方走就完事,Java可以选择下载qq的,更快,用Oracle的贼麻烦还要注册账户,然后就到了坑,再输入密码的时候会发现输入的内容不显示,一度怀疑人生,后来发现只是是隐藏了而已,为了安全…*所有页面样式失效还是样式与小程序不符先想想这个页面有没有input,video,textarea这类使用了原生组件的组件,解决办法官方有,但看不懂,笨办法是使用v-if来隐藏,然后v-else写个假的放上面,用的时候显示真的,其他时候显示假的*还有显示隐藏样式出问题想想有没有用v-show,换成v-if,还有什么属性不能为null的报错,对象最好初始化写成空{},而不是null*云端打包时,videoplayer项如果使用到video必须打钩,其他能力类似,还有uni-app Error: Cannot find module ‘node-ipc’ 把uni-app编译插件卸载重装,还有编译sdk与打包sdk版本不一样,但实际上hbuilderx已经是最新版也可以这样操作*新浪开发的签名为证书md5去掉:并且字母全部小写,必须提供下载地址,下面是驳回理由

不能只用弹出方式提供下载,安卓客户端下载必须要有对应的下载页面和下载按钮。,应用地址处请填写客户端专用下载页面或在软件商店页面地址(网盘,论坛页面无效)

现在的各大市场上架app需要软件著作权证书,最好提前备好,应用宝上架需要隐私政策截图,所以现在软件的用户协议和隐私政策几乎必备 *分享这块目前完成了qq、微信、朋友圈分享,切记分享图片(视频)地址正确,不为空,不然会返回出神奇的错误信息(fail:{“errMsg”:“share:fail http://ask.dcloud.net.cn/article/287”}),新发现的问题:分享时图片过大会分享失败,新浪分享需要回调地址,麻烦,抖音对图片视频分辨率有限制,坑货支付功能几乎全是后端的活,前端一个uni.requestPayment就行,官方有php的demo支付宝支付时出现路ALIN10146错误,原因是应用未上架(指的是阿里开放平台那申请的应用),阿里的查错文档挺详细了登录部分,微信登录uni.login可以直接得到后端请求所需token,直接拿来用就行,不必code换token这么复杂,dcloud牛逼,其他的第三方登录没有做对于有些可能是app需要小程序不需要的页面(或者相反),采用官方文档的条件编译是极佳的选择

整体目录条件编译 如果想把各平台的页面文件更彻底的分开,也可以在uni-app项目根目录创建platforms目录,然后在下面进一步创建app-plus、mp-weixin等子目录,存放不同平台的文件。

对于第三方功能,最好做下判断,如果没有此应用跳转到下载地址 // 判断用户是否安装抖音 export function checkDouyin(instal) { if (plus.runtime.isApplicationExist({ pname: 'com.ss.android.ugc.aweme', action: 'wb1462309810://' })) { if(instal){ instal() } console.log("抖音应用已安装"); } else { // uninstal() plus.runtime.openURL('https://www.douyin.com/'); console.log("抖音应用未安装"); } } // 判断用户是否安装支付宝 export function checkAlipay(instal) { if (plus.runtime.isApplicationExist({ pname: 'com.eg.android.AlipayGphone', action: 'alipay://' })) { if(instal){ instal() } console.log("支付宝应用已安装"); } else { // uninstal() console.log("支付宝应用未安装"); plus.runtime.openURL('https://d.alipay.com/?nojump=true'); } } // 判断用户是否安装QQ export function checkQQ(instal) { if (plus.runtime.isApplicationExist({ pname: 'com.tencent.mobileqq', action: 'mqq://' })) { if(instal){ instal() } console.log("QQ应用已安装"); } else { // uninstal() console.log("QQ应用未安装"); plus.runtime.openURL('https://im.qq.com/mobileqq/touch/android/'); } } // 判断用户是否安装新浪微博 export function checkSinaweibo(instal) { if (plus.runtime.isApplicationExist({ pname: 'com.sina.weibo', action: 'sinaweibo://' })) { if(instal){ instal() } console.log("新浪微博应用已安装"); } else { // uninstal() plus.runtime.openURL('https://c.weibo.cn/'); console.log("新浪微博应用未安装"); } } // 判断用户是否安装微信,传入判断函数 export function checkWeixin(instal) { if (plus.runtime.isApplicationExist({ pname: 'com.tencent.mm', action: 'weixin://' })) { if(instal){ instal() } console.log("微信应用已安装"); } else { // uninstal() // plus.runtime.openURL('https://weixin.qq.com/d '); console.log("微信应用未安装"); } }

如果给uni.showToast不加title的话,会显示成一个小黑点

uni.getSystemInfoSync()最好在onReady中获取,不然某些手机会获取出问题

然后功能差不多了,等软著上架…修bug…

关于webview方面,app的webview布局采用flex布局,千万不要用浮动,关于app内与webview互相传参可以参考此文章



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有